﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Marbles.Core
{
    public static class Info
    {

        public static Version MarblesVersion
        {
            get { return new Version(1, 0, 0, 0); }
        }

        public static Version RunTimeVersion
        {
            get { return Environment.Version; }
        }

        public static OperatingSystem OperationSystemVersion
        {
            get { return Environment.OSVersion; }
        }

        public static RuntimeName RuntimeName
        {
            get { return GetRunTimeName(); }
        }

        private static RuntimeName GetRunTimeName()
        {
            Type t = Type.GetType("Mono.Runtime");
            if (t != null) { return RuntimeName.Mono; }

            t = null;
            t = Type.GetType("DotGnu.Runtime");
            if (t != null) { return RuntimeName.DotGNU; }
            return RuntimeName.MicrosoftNet;
        }
    }

    public enum RuntimeName
    {
        MicrosoftNet,
        Mono,
        DotGNU
    }
}
